perm filename ARMDF[SYS,HE]3 blob sn#016501 filedate 1972-12-18 generic text, type T, neo UTF8
00100		TITLE ARM
00200	;	These are the error messages returned by the arm servo program
00300	
00400		ALLOK←←0	;ALL OK
00500		NOFILE←←3	;FILE NOT FOUND
00600		NODATA←←4	;ENTER ON DATA FILE FAILED
00700		NODEV←←5	;DEVICE DSK DOES NOT EXIST
00800		EXER←←1		;IF JUST 1 THEN OVERFLOW OR UNDERFLOW OCCURED,
00900		;IF OF THE FORM X1 THEN EXCESSIVE FORCE REQUIRED AT JOINT X
01000		GRASER←←2	;GRASP ERROR, HAND CLOSED TOO FAR
01100		TOUCH←←6	;STOPPED ON TOUCH
01200		;THIS ERROR IS OF THE FORM X6 WHERE THE X'th SENSOR TOUCHED
01300		READER←←7	;A/D READ ERROR
01400		TERR←←20	;SPACEWAR JOB FAILS TO TERMINATE
01500		HTERR←←22	;HAND FAILS TO FINISH IN TIME
01600		STPERR←←23	;ARM FAILED TO STOP ON FORCE LIMIT
01700		LOOPER←←24	;ARM IN CONTROL LOOP
01800		SAVERR←←25	;SAVE ARRAY INDEX ERROR
01900		NOTHER←←30	;THE ARM IS DOWN
02000		INVMES←←40	;MESSAGE INVALID, ARM NOT IN WAIT STATE
02100		REAERR←←50	;TRAJECTORY FILE READ ERROR
02200		VERSN←←60	;VERSION NUMBER WRONG
02300		REFERR←←70	;REFERENCE SUPPLY IS OFF,CHECK THE FUSE
02400		PDPERR←←100	;PDP-6 IS DOWN
02500		ISERR←←200	;PDP-6 SERVICE INTERRUPTED
02600	
02700		XLIST
02800		SUBTTL	AC DEFINITIONS AND FLAGS			LOU PAUL
02900		LIST
     

00100	;	These are conditional assembly flags
00200		DEB←←0		;causes the AC's to be saved each jiffy
00300		STEP←←0		;No acceleration compensation and predicted velocity
00400		TACH←←0		;Integrates tach voltage and sets vgain
00500		TRACK←←0	;Causes a debugging file to be written
00600	IFE TRACK,<
00700		DYNAMICS←←0	;CAUSES FORWARD AND FEEDBACK TO BE WRITTEN OUT
00800		REPORT←←0+DYNAMICS	;Causes display data to be written
00900	>
01000	IFN TRACK,<
01100		REPORT←←0
01200		DYNAMICS←←0
01300	>
01400		USER←←0		;This runs the SPACEWAR job in user mode and simulates the arm
01500		ADJG←←0			;READS THE POT BOX TO SET SERVO GAINS
01600	IFN ADJG,<ADJD←←0>
01700	IFE ADJG,<
01800		ADJD←←0			;READS THE POT BOX TO SET DRIVE FACTORS
01900	>
02000		ADJUST←←ADJG+ADJD	;CAUSES THE POTS TO BE READ TO ADJUST GAINS
02100		HANDWORK←←1		;IF ZERO DOSN'T DRIVE THE HAND
02200		ARMWORK←←1		;IF ZERO RETURNS THE ARM DOWN MESSAGE
     

00100	IFN ADJUST,<EXTERNAL EXP>
00200		EXTERNAL JOBREN,JOBOPC
00300		OPDEF INTUUO [723B8]
00400		OPDEF UFBRD [706B8]
00500	
00600	;	AC'S
00700		BITS←←0
00800		AC←1
00900		TAC←2
01000		MQ←3
01100		I←5
01200		J←6
01300		K←7
01400		L←10
01500		DACVAL←11	;CONTAINS THE A/D READING WITH THE SIGNBITS COMP'D
01600		CBUF←12		;POINTS TO CURRENT BUFFER
01700		DATWD←13	;ARM DATAO
01800		DATA←14		;DATA POINTER FOR DEBUGGING BUFFER
01900		P←17		;PUSH DOWN POINTER
02000	
02100	
02200	;	CONSTANTS
02300		CHA←←62B23	;JOINT 6 POT CHANNEL
02400		CHA5←←61B23	;JOINT 5 POT CHANNEL
02500		N6CHA←←63B23	;ALT JOINT 6 POT CHANNEL
02600		HANDCHA←←70B23	;HAND POT CHANNEL
02700		PDLL←←5		;LENGTH OF PUSH DOWN
02800		MASTER←←16657	;VERSION NUMBER
02900		DBL←←20000	;LENGTH OF DEBUGGING BUFFER
03000		AD←←424		;DEVICE AD
03100		DB←←204		;DEVICE 136
03200		ARM←←420	;DEVICE ARM
03300		CLOCK←←730	;DEVICE CLOCK
03400		WIDTH←←600	;D/A TO SET PULSE WIDTHS
03500		MAXFN←←17	;MAXIMUM NUMBER OF FUNCTIONS
03600		JMPABS←←100	;JUMP ABSOLUTE
03700		SKPERR←←101	;SKIP ON ERROR
03800		SKPNER←←103	;SKIPN ON ERROR
03900		SKPSER←←104	;SKIPS ON ERROR
04000		JMPREL←←102	;JUMP RELATIVE
04100	
04200	IFN USER,<OPDEF DATAO [JFCL]>
04300	
04400	;	FLAGS WHICH RESIDE IN AC 0 OR IN BITSAV
04500	
04600		DTST←←1		;SPACE WAR JOB FINISHED
04700		POTREAD←←2	;READ POTS IN OCTAL+=1000, DO NOT CONVERT TO DEGREES
04800		RONLY←←4	;JUST READ POTS
04900		FINAL←←10	;NULL ARM ERRORS
05000		RUN←←20		;RUN ARM
05100		INCREM←←40	;INCREMENT SET POINT TOWARD DTH
05200		DROP←←100	;PLACE ARM DO NOT STOP IF ERRORS ARE ZERO
05300		ALT6←←200	;READ ALT POT 6
05400		HCL←←400	;INITIALIZATION FOR HAND FUNCTIONS
05500		ALT←←1000	;TRAJECTORY ALT PATH
05600		STP←←2000	;STOP ON FORCE LIMIT
05700		TRIP←←4000	;TURN ON ARM
05800		REREAD←←10000	;AD HAS HAD TO BE RESTARTED
05900		STCH←←20000	;STOP ON TOUCH
06000		VZERO←←40000	;INITIALIZE VZ
06100		WOB←←100000	;WOBBLE OUTER JOINTS
06200		NUL←←200000	;NULL ALL ERRORS TOGETHER
06300		NNUL←←1		;DO NOT NULL
06400	
06500		RELOCF←←40
06600		HOLDF←←20
06700		DEC←←-4
06800		XF←←1
06900	
07000		XALL
07100		XLIST
07200		SUBTTL	MESSAGE FORMAT				LOU PAUL
07300		LIST
     

00100	;	THIS IS THE 32 WORD MAIL MESSAGE
00200	
00300	EXE:	XWD MASTER,0	;18-27 NARGS, 30 RELOC, 31 HOLD, 32 SOTCH, 33-35 EXE
00400				;0 READ IN OCTAL
00500				;1 READ IN DECIMAL
00600				;2 EXECUTE FILE
00700				;3 EXECUTE FUNCTION
00800	FILE:	0
00900	PPPN:	0
01000	BAND:	0
01100	SEGJOB:	0
01200	NAME:	0
01300	STATUS:	0
01400	SEGMENT:0
01500	NERVES:	0
01600	ETOR:	0
01700	THETA:	0
01800	ARGS:	BLOCK =21
01900	
02000		XLIST
02100		SUBTTL	USER LEVEL CODE				LOU PAUL
02200		LIST